/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package servlets;
 
import beans.*;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 
public class Register extends HttpServlet {
 
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        /* En este proyecto; este servlet no recibe ni debe recibir nada por GET, 
         * asi que si se lleva a entrar al servelt
         * usando el metodo GET solamente redireccion al index.jsp
         */
        response.sendRedirect("index.jsp");
    }
    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpSession respuesta = request.getSession(true);
        PrintWriter out = response.getWriter();
        //Declaro e inicio las variables
        String nombreUsuario = request.getParameter("name");
        String emailUsuario = request.getParameter("email");
        String password = request.getParameter("password1");
        String confirm_password = request.getParameter("password2");
        String m=request.getParameter("M");
        String o=request.getParameter("O");
        Dao d = new Dao();
         //campos vacios
        if(nombreUsuario.isEmpty() || emailUsuario.isEmpty() || password.isEmpty() || confirm_password.isEmpty()){
            respuesta.setAttribute("error", "Hay campos vacios");
            response.sendRedirect("index.jsp");

        } else {
                respuesta.removeAttribute("error");
                if(password.equals(confirm_password)){
                       try {
                            d.conectar();
                                if(d.isEmailMRegistered(emailUsuario)||d.isEmailORegistered(emailUsuario)){
                                    respuesta.setAttribute("error", "Esta direccion de correo ya fue registrada");
                                    response.sendRedirect("register.jsp");

                                } else {
                                    
                                    //Llegado a este punto significa que todo esta correcto,
                                    //por lo tanto ingreso a la DB*/
                                    //1º compruebo si quiero registrar un manager o un organizer
                                    try{
                                    if(m.compareTo("on")==0){
                                        d.registerManager(emailUsuario, password, nombreUsuario);
                                    }
                                    if(o.compareTo("on")==0){
                                        d.registerOrganizer(emailUsuario, password, nombreUsuario);
                                    }
                                    }catch(java.lang.NullPointerException e){};
                                    respuesta.setAttribute("error", null);
                                    respuesta.setAttribute("sessionNombre", nombreUsuario);
                                    respuesta.setAttribute("sessionEmail", emailUsuario);
                                    response.sendRedirect("index.jsp");
                                    d.desconectar();
                               }
                            
                            
                             
                       } catch (Exception e) { out.println("Ocurrio la sig exception: " +e); }
                        
                        
                        
                    } else {
                        respuesta.setAttribute("error", "Las contraseñas no son iguales");
                                    response.sendRedirect("register.jsp");

                    }
                    
              
        }
        
        
    }
 
}